package sh.wnxy.wn38.controller;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import sh.wnxy.wn38.utils.PathUtils;
import sh.wnxy.wn38.utils.Result;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

@Slf4j
@ApiModel("路径管理")
@CrossOrigin
@RestController
@RequestMapping("/path")
public class PathController {

    @ApiOperation("根据地点查询最短路径")
    @GetMapping("/getPath/{point}")
    public Result getPath(@ApiParam(value = "始末地点", required = true) @PathVariable("point") String point) {
        //0 抱抱龙冲天赛车 1 七个小矮人矿车 2 加勒比海盗 3 创极速光轮 4 漫游童话时光 5 探秘海妖复仇湾 6 巴斯光年星际营救 7 漫威英雄总部 8 雷鸣山漂流 9 飞跃地平线
        PathUtils pathUtils = new PathUtils();
        int M = pathUtils.M;
        Integer[][] dist = {
                {0,10,M,8,M,M,M,M,M,M},
                {10,0,1,M,4,M,M,M,M,M},
                {M,1,0,M,5,3,M,M,M,M},
                {8,M,M,0,9,M,1,M,M,M},
                {M,4,5,9,0,M,M,5,7,M},
                {M,M,3,M,M,0,M,M,5,5},
                {M,M,M,1,M,M,0,1,M,M},
                {M,M,M,M,5,M,1,0,3,M},
                {M,M,M,M,7,5,M,3,0,2},
                {M,M,M,M,M,5,M,M,2,0}
        };// 建立一个权值矩阵
        ArrayList<Integer[][]>  list= pathUtils.flody(dist);
        pathUtils.display_path(list);
        for(Map.Entry entry:pathUtils.map.entrySet()){
            if(entry.getKey().equals(point))
                return Result.ok().data("pathList",entry.getValue());
//            System.out.println(entry.getKey());
//            System.out.print("path:");
//            System.out.println(entry.getValue().getClass());
//            System.out.println(entry.getValue());
        }
//        System.out.println(count);
        return Result.error();
    }

//    public static void main(String[] args) {
//        PathController pathController = new PathController();
//        pathController.getPath();
//    }
}
